\hypertarget{classsimple__schedule}{}\section{simple\+\_\+schedule Class Reference}
\label{classsimple__schedule}\index{simple\+\_\+schedule@{simple\+\_\+schedule}}
Inheritance diagram for simple\+\_\+schedule\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{classsimple__schedule}
\end{center}
\end{figure}
\subsection*{Classes}
\begin{DoxyCompactItemize}
\item 
struct \hyperlink{structsimple__schedule_1_1thread__data}{thread\+\_\+data}
\item 
struct \hyperlink{structsimple__schedule_1_1thread__info__t}{thread\+\_\+info\+\_\+t}
\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{classsimple__schedule_a25bafe4199780c7abda6a9df3a599d88}{simple\+\_\+schedule} (\hyperlink{class_map}{Map} \&map)
\item 
virtual void \hyperlink{classsimple__schedule_ad60a7608111e011d0c04f6ac566cfd8c}{start} ()
\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
void \hyperlink{classsimple__schedule_aafebb0cc13b4539387790ff54ea40830}{handle\+Schedule} (\hyperlink{classraft_1_1kernel}{raft\+::kernel} $\ast$const kernel)
\end{DoxyCompactItemize}
\subsection*{Static Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classsimple__schedule_a4fac873aedbc372a9a008cf02b30c048}{}static void $\ast$ {\bfseries simple\+\_\+run} (void $\ast$data)\label{classsimple__schedule_a4fac873aedbc372a9a008cf02b30c048}

\end{DoxyCompactItemize}
\subsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classsimple__schedule_afb23a2c4ff29959b3f43d5802ac76c79}{}pthread\+\_\+mutex\+\_\+t {\bfseries thread\+\_\+map\+\_\+mutex}\label{classsimple__schedule_afb23a2c4ff29959b3f43d5802ac76c79}

\item 
\hypertarget{classsimple__schedule_a1c6f1b93365dc324a72c467765ffef86}{}std\+::vector$<$ \hyperlink{structsimple__schedule_1_1thread__info__t}{thread\+\_\+info\+\_\+t} $\ast$ $>$ {\bfseries thread\+\_\+map}\label{classsimple__schedule_a1c6f1b93365dc324a72c467765ffef86}

\end{DoxyCompactItemize}
\subsection*{Additional Inherited Members}


\subsection{Constructor \& Destructor Documentation}
\hypertarget{classsimple__schedule_a25bafe4199780c7abda6a9df3a599d88}{}\index{simple\+\_\+schedule@{simple\+\_\+schedule}!simple\+\_\+schedule@{simple\+\_\+schedule}}
\index{simple\+\_\+schedule@{simple\+\_\+schedule}!simple\+\_\+schedule@{simple\+\_\+schedule}}
\subsubsection[{simple\+\_\+schedule(\+Map \&map)}]{\setlength{\rightskip}{0pt plus 5cm}simple\+\_\+schedule\+::simple\+\_\+schedule (
\begin{DoxyParamCaption}
\item[{{\bf Map} \&}]{map}
\end{DoxyParamCaption}
)}\label{classsimple__schedule_a25bafe4199780c7abda6a9df3a599d88}
simpleschedule.\+cpp -\/ \begin{DoxyAuthor}{Author}
\+: Jonathan Beard 
\end{DoxyAuthor}
\begin{DoxyVersion}{Version}
\+: Thu Sep 11 15\+:49\+:57 2014
\end{DoxyVersion}
Copyright 2014 Jonathan Beard

Licensed under the Apache License, Version 2.\+0 (the \char`\"{}\+License\char`\"{}); you may not use this file except in compliance with the License. You may obtain a copy of the License at\+:

\href{http://www.apache.org/licenses/LICENSE-2.0}{\tt http\+://www.\+apache.\+org/licenses/\+L\+I\+C\+E\+N\+S\+E-\/2.\+0}

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an \char`\"{}\+A\+S I\+S\char`\"{} B\+A\+S\+I\+S, W\+I\+T\+H\+O\+U\+T W\+A\+R\+R\+A\+N\+T\+I\+E\+S O\+R C\+O\+N\+D\+I\+T\+I\+O\+N\+S O\+F A\+N\+Y K\+I\+N\+D, either express or implied. See the License for the specific language governing permissions and limitations under the License. 

\subsection{Member Function Documentation}
\hypertarget{classsimple__schedule_aafebb0cc13b4539387790ff54ea40830}{}\index{simple\+\_\+schedule@{simple\+\_\+schedule}!handle\+Schedule@{handle\+Schedule}}
\index{handle\+Schedule@{handle\+Schedule}!simple\+\_\+schedule@{simple\+\_\+schedule}}
\subsubsection[{handle\+Schedule(raft\+::kernel $\ast$const kernel)}]{\setlength{\rightskip}{0pt plus 5cm}void simple\+\_\+schedule\+::handle\+Schedule (
\begin{DoxyParamCaption}
\item[{{\bf raft\+::kernel} $\ast$const}]{kernel}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [virtual]}}\label{classsimple__schedule_aafebb0cc13b4539387790ff54ea40830}
thread function takes a reference back to the scheduler accessible done boolean flag, essentially when the kernel is done, it can be rescheduled...and this handles that.

thread

no attributes

function 

Implements \hyperlink{class_schedule}{Schedule}.

\hypertarget{classsimple__schedule_ad60a7608111e011d0c04f6ac566cfd8c}{}\index{simple\+\_\+schedule@{simple\+\_\+schedule}!start@{start}}
\index{start@{start}!simple\+\_\+schedule@{simple\+\_\+schedule}}
\subsubsection[{start()}]{\setlength{\rightskip}{0pt plus 5cm}void simple\+\_\+schedule\+::start (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}\label{classsimple__schedule_ad60a7608111e011d0c04f6ac566cfd8c}
start -\/ called to start execution of all kernels. Implementation specific so it is purely virtual. set up data struct for threads

thread

no attributes

function

F\+I\+X\+M\+E\+: the list could get huge for long running apps, need to delete these entries...especially since we have a lock on the list now

Implements \hyperlink{class_schedule_ab6ad5540ecdef6b472b4e8242a47c4ee}{Schedule}.



The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item 
simpleschedule.\+hpp\item 
simpleschedule.\+cpp\end{DoxyCompactItemize}
